package com.wzw.expression.record.annotations;

import com.wzw.expression.record.interceptors.IRecordInterceptor;

import java.lang.annotation.*;

/**
 * @author Wangzhiwen
 */
@Documented
@Inherited
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface IRecord {

    /**
     * 编号
     *
     * @return number
     */
    String serial() default "";

    /**
     * 名称
     *
     * @return name
     */
    String module() default "";

    /**
     * 业务名称
     *
     * @return name
     */
    String submodule() default "";

    /**
     * 文本内容
     *
     * @return content
     */
    String content() default "";

    /**
     * 额外的记录
     *
     * @return spel
     */
    String extra() default "";

    /**
     * 是否忽略方法参数
     *
     * @return false
     */
    boolean ignoreParams() default false;

    /**
     * 拦截器
     *
     * @return 拦截器
     */
    Class<? extends IRecordInterceptor> interceptor() default IRecordInterceptor.class;

}
